﻿
//加载 http 模块 
var http = require('http');
//cheerio 是一个 node.js 的库 ，它可以从HTML的片段中构建dom结构，然后提供像jquery 的css 选择器查询
var cherrio = require('cheerio');

// 定义网络爬虫的目标地址：自如友家的主页
var url = 'http://www.ziroom.com/';


http.get(url,function(res){
    var html = '';
    //获取页面数据
    res.on('data','utf-8',function(data){
        console.log(11,data)
        html += data;
    })
    console.log(html,1144)
    //数据获取结束
    res.on('end',function(){
        //通过过滤页面信息获取实际需求的轮播图信息
        var slideListData = filterSlideList(html);
        //打印信息
        printInfo(slideListData)
    })
}).on('error',function(){
    console.log('获取数据出错！')
});

/* 过滤页面信息 */
function filterSlideList(html) {
    if(html){
        //沿用 JQ 风格，定义$
        var $ = cherrio.load(html);
        //根据页面的id 获取轮播图列表信息
        var slideList = $('#foucsSlideList');
        // 轮播图数据
        var slideListData = [];
         /* 轮播图列表信息遍历 */
         slideList.find('li').each(function(e){
             var that = $(this);
             //找到 a 标签并获取 href 属性
             var that_href = that.find('a').attr('href');
             //找到 a 标签的子标签img 并获取 - src
             var that_src = that.find('a').children('img').attr('src');
             //找到 a 标签的子标签img 并获取alt
             var that_message = that.find('a').children('img').attr('alt');
             //把得到的数据存储进 slideListData []
             console.log(e)
             slideListData.push({
                 that_href:that_href,
                 that_src:that_src,
                 that_message:that_message
             })
         })
         return slideListData;
    }
    
}

/* 打印信息 */
var printInfo = function(slideListData){
    //计数
    var count = 0;
    //遍历图片对应的链接地址
    slideListData.forEach( item =>{
        //获取图片
        var pic_src = item.that_href;
        //获取图片对应的链接地址
        var pic_src = item.that_src;
        //获取图片的信息
        var pic_src = item.that_message;
        // 打印信息
        console.log('第' + (++count) + '个轮播图');
        console.log(pic_message);
        console.log(pic_href);
        console.log(pic_src);
        console.log('\n');
    })
}





























